<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8" />
  <meta http-equiv="X-UA-Compatible" content="IE=edge" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  <title>Document</title>
</head>

<body>
  <script>
    // 题目1(选做)：const arr=['name','age','hhh','hhh','age','hhh','hhh','hhh']各出现多少次
    // 要求输出一个对象如下：{age: 2,hhh: 5,name: 1}
    const arr = ['name', 'age', 'hhh', 'hhh', 'age', 'hhh', 'hhh', 'hhh']

    const obj = {}
    arr.forEach(item => {
      if (obj[item]) {
        obj[item]++
      } else {
        obj[item] = 1
      }
    })
    console.log(obj)

    // 题目2(必做)：现在两个数组，判断在a中的元素，不在b中 const a = [1,2,3,5] const b=[1,3,5,6] 将在a不在b中的筛选出来
    // 要求：输出一个数组：[2]
    const a = [1, 2, 3, 5]
    const b = [1, 3, 5, 6]

    // 方法1：
    // b.forEach((item1,index1) => {
    //   a.forEach((item2,index2) => {
    //     if (item1 === item2) {
    //       a.splice(index2,1)
    //     }
    //   })
    // }) 
    // console.log(a)

    // 方法2：
    b.forEach(item => {
      if (a.indexOf(item) !== -1) {
        a.splice(a.indexOf(item), 1)
      }
    })
    console.log(a)




    // 题目3(必做):数组去重(可以用多种方法,至少写一种)
    // 要求：输出一个数组：[1,2,3,9]
    const arr2 = [1, 2, 3, 2, 9]

    // 方法1：
    // const newArr = []
    // arr2.forEach(item => {
    //   if (newArr.indexOf(item) === -1) {
    //     newArr.push(item)
    //   }
    // })
    // console.log(newArr)

    // 方法2：
    // const newArr = []
    // arr2.forEach(item => {
    //   if (!newArr.includes(item)) {
    //     newArr.push(item)
    //   }
    // })
    // console.log(newArr)

    // 方法3：
    const res = [...new Set(arr2)]
    console.log(res)
  </script>
</body>

</html>